package com.mzx.javase.shuzu;

/**
 * @Description:数组的定义与使用
 * 数组，是具有相同数据类型的数据结构；数据接口：在内存地址中是连续存在的
 * 数组是引用数据类型
 *
 * @Date: 2021/12/6 9:40
 * @Author: MarKing
 */
public class ShuZuTest {

    public static void main(String[] args) {

    /*
        数组的使用：
        1、动态创建数组，定义和赋值是分开的，
        2、静态创建数组，定义时可以赋初值
     */
    //1、动态创建数组，先定义后赋值
//        数据类型[] 引用名称 = new 数据类型[数组长度];
        int[] a = new int[3];
        a[0] = 1;
        a[1] = 2;
        a[2] = 3;
        //通过下标去进行访问
        System.out.println(a[2]);
        System.out.println("数组的长度为："+a.length);

        //2、静态创建数组
        int[] b = {1, 2, 3, 4, 5, 6, 7};
//        数组类型，数组的长度，每个下标对应的元素都确定了
        System.out.println("b数组第2个元素为:"+b[1]);
        System.out.println("数组b的长度为："+b.length);

        //3、数组的遍历；现在有一个数组，需要拿出数组中的每一个元素成为数组的遍历
        int[] arr = {1, 3, 4, 5, 6, 7, 8, 23};
        //方法一：通过for循环下标方式遍历数组
        System.out.println("通过for循环方式遍历的数组...");
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i]+" ");
        }
        //方法二：通过增强型for循环遍历数组，jdk1.5新特性
        //for(type element:arr){}
        System.out.println("\n通过增强型for循环遍历的数组");
        for (int i : arr) {
            System.out.print(i+" ");
        }
    }
}
